module.exports = {

    lintOnSave:'warning',
    //输出目录 测试打包成staging 目录 ，生产打包成 dist目录
    outputDir:process.env.NODE_ENV==='staging'?'staging':'dist',
    devServer:{
        proxy:{
            '^/api':{
                target:'http://localhost:5000',
                changeOrigin:true,
                pathRewrite:{
                    '/api':''
                }
            }
        }
    },
    //模式判断  生产模式 测试模式 排除本地包，用script 引入 后期可换成cdn， 开发模式使用本地包 
    chainWebpack: config => {     
        config.when(process.env.NODE_ENV != 'development', conig => {

            config.plugin('html').tap(args => {
            // 判断页面在开发模式下 需不需要 scrpit  根据ejs 语法做的判断
                args[0].ishas = true
               
               
                /**
                 *  自定义环境变量  三中环境有 不同的文件.env.production等 不同文件不同的值， 文件相当于process.env这个对象，即文件里面有VUE_APP_TITLE
                    这个变量，process.env 就有这个属性
                 */
                args[0].title= process.env.VUE_APP_TITLE;
                return args
            }) 
            config.set('externals', {
                vue: 'Vue',
                'vue-router': 'VueRouter',
                axios: 'axios',
              })
        })
        config.when(process.env.NODE_ENV === 'development', conig => {

            config.plugin('html').tap(args => {
                args[0].ishas = false
                args[0].title= process.env.VUE_APP_TITLE;
                return args
            }) 
        })

    }

}